#ifndef _MEMBITTABLE_H_
#define _MEMBITTABLE_H_

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include "bittable.h"

class BitHashTableHandle;
class MemBitTable : public BitTable {
    public:
        MemBitTable();
        ~MemBitTable();

        bool init();
        virtual bool getBitValue(unsigned long pos);
        virtual void setBitValue(unsigned long pos);
        virtual void clearBitValue(unsigned long pos);
        virtual void clear();

        virtual BitHashTableHandle* getHashHandle() { return m_hashHandle; }

    private:
        size_t m_tableSize;
        unsigned char* m_addr;
        BitHashTableHandle *m_hashHandle;
};

#endif
